![]() 楕円曲線上の多数の点を計算する装置及び方法
专利摘要:
繰り返される点加算及び点2倍算により楕円曲線上の多数の点を右から左に計算する装置及び方法に関する。それぞれの点2倍算は、射影座標の拡張されたセットで評価され、それぞれの点加算は、射影座標の拡張されたセットの制限されたセットを入力とすることで評価される。制限されたセットの一部ではない拡張されたセットの少なくとも1つの座標は、点2倍算それぞれの繰り返しの間にメモリに記憶される。これにより、従来技術のソリューションに比較して計算を高速化することができる。また、コンピュータプログラム及びコンピュータプログラムプロダクトが提供される。 公开号:JP2011512556A 申请号:JP2010546340 申请日:2009-02-12 公开日:2011-04-21 发明作者:ジョイエ,マルク 申请人:トムソン ライセンシングThomson Licensing; IPC主号:G09C1-00
专利说明:
[0001] 本発明は、暗号作成法に関し、より詳細には、楕円曲線の暗号システムの右から左へのスカラー乗算に関する。] 背景技術 [0002] この節は、以下に記載され、及び/又は特許請求される本発明の様々な態様に関連する様々な当該技術分野の態様を読者に導入することが意図される。この説明は、本発明の背景情報を読者に提供することに役立つものと考えられる。したがって、これらの説明は、この点に照らして読まれるべきであって、従来技術の認定として読まれるべきではない。] [0003] 楕円曲線暗号(ECC)は、対応するセキュリティレベルについてRSA(Rivest Shamir Adleman)鍵よりも大幅に短い鍵の長さのために、ますます広がりつつある。しかし、短い鍵の長さは、暗号システムを選択するときに考慮すべき唯一の要素ではなく、たとえば、比較的長い待ち時間が暗号システムを使用するユーザをいらいらさせる場合があるので、計算時間が考慮されなければならない。] [0004] 楕円曲線暗号が任意の状況で実際に使用される場合がある一方で、ECCはRSAに基づく暗号化よりも少ないメモリ及び計算能力を必要とするので、埋め込みシステムでの使用に特に適している。] [0005] 楕円曲線暗号の基本演算は、スカラー乗算であり、楕円曲線上の点P及びスカラーdが得た得られた場合、点Q=dP(すなわち、P+P+...+P、d回)を計算する必要がある。どの方向でスカラーdがスキャンされるかに依存して、スカラー演算方法の2つの主要なファミリが存在する。光から右への(left-to-right)方法及び右から左への(right-to-left)方法である。] [0006] 左から右への方法は、良好なパフォーマンスを生じるのでしばしば使用されるが、低いセキュリティレベルを与えることが知られている。] 発明が解決しようとする課題 [0007] 今まで、当業者は、ある程度まで、パフォーマンスとセキュリティとを選択することを強いられいる。したがって、従来技術の問題の少なくとも幾つかを克服するソリューションが必要とされる。] [0008] 本発明は、2つのファミリ間のパフォーマンスにおける違いが減少するように、従来技術の右から左へのスカラー乗算を高速化するソリューションを提供するものである。] [0009] 古典的な従来技術の右から左への方法に基づくスカラー乗算方法が以下に記載される。] [0010] Eを特性≠2,3のフィールドKにわたる楕円曲線を示すとする。係る楕円曲線は、Weierstrass式EIK:Y2=X3+aXZ4+bZ6により与えることができる。] [0011] 楕円曲線上の点(X,Y,Z)のセットはアベール群を形成し、この場合、無限遠にある点と呼ばれるニュートラルエレメントはO=(1,1,0)である。射影の点(X,Y,Z)はZ=0である場合にOに対応し、さもなければアフィン点(X/Z2,Y/Z3)に対応する。なお、射影点の射影座標は、固有ではない。これは、Kにおけるそれぞれの非ゼロについて(X,Y,Z)=(t2X,t3Y,tZ)であるからである。] [0012] 古典的な従来技術の右から左へのバイナリスカラー乗算方法は、スカラーd≧0及びパラメータa及びbをもつ楕円曲線E上の点P=(X,Y,Z)を入力として取得し、点Q=dPを出力する。 入力:d,P=(X,Y,Z) 出力:dP=(X*,Y*,Z*)。] [0013] 方法: 古典的な従来技術のNAFに基づくスカラー乗算方法は、スカラーd≧0及びパラメータa及びbをもつ楕円曲線E上の点P=(X,Y,Z)を入力として取得し、点Q=dPを出力する。 入力:d,P=(X,Y,Z) 出力:dP=(X*,Y*,Z*)。] [0014] 方法:] 課題を解決するための手段 [0015] 第一の態様では、本発明は、繰り返される点加算(point addition)及び点2倍算(point doubling)により、右から左に楕円曲線上の多数の点を計算する方法に向けられる。それぞれの点2倍算は、座標の拡張されたセットで評価され、それぞれの点加算は、座標の拡張されたセットの制限されたセットを入力として取得することで評価される。] [0016] 第一の好適な実施の形態では、ある点加算の出力座標は、次の点2倍算の入力座標として使用される。] [0017] 第二の好適な実施の形態では、楕円曲線は、2及び3とは異なる特性によるWeierstrass式EIK:Y2=X3+aXZ4+bZ6により与えられ、a及びbは、楕円曲線の第一及び第二パラメータである。] [0018] 座標T1,T2,T3の値、及びT4=aT34に初期化される更なる座標T4の値を取得し、中間の変数U=T12,V=T22,M=3U+T4,W=V2及びS=2((T1+V)2−U−W)を計算し、T3=2T2T3,T4=16WT4の新たな値を計算し、T1=M2−2Sの新たな値を計算し、T2=M(S−T1)−8Wの新たな値を計算し、少なくとも座標T1,T2,T3及びT4の値を出力することで、点2倍算が計算されることは有利であり、ここでaは、楕円曲線の第一パラメータである。] [0019] 第三の好適な実施の形態では、スカラー乗算は、スカラーのNAF(Non Adjacent Form)を使用して実行される。] [0020] 第四の好適な実施の形態では、スカラー乗算は、スカラーのバイナリ表現を使用して実行される。] [0021] 第五の好適な実施の形態では、点2倍算は、モディファイド・ヤコビアン座標を使用して実行され、点加算は、ヤコビアン座標を使用して実行される。] [0022] 第二の態様では、本発明は、右から左に楕円曲線上の多数の点を計算する装置に向けられる。本装置は、点2倍算及び点加算のために適合されるプロセッサを有する。プロセッサは、座標の拡張されたセットを使用してそれぞれの点2倍算を評価し、座標の拡張されたセットの制限されたセットを入力として取得することでそれぞれの点加算を評価するために適合される。] [0023] 第三の態様では、本発明は、プロセッサで実行されたときに、繰り返される点2倍算及び点加算により右から左に楕円曲線上の多数の点を計算する方法を実行するコンピュータプログラムに向けられ、それぞれの点2倍算は、座標の拡張されたセットで評価され、それぞれの点加算は、座標の拡張されたセットの制限されたセットを入力として取得することで評価されることを特徴とする。] [0024] 第五の態様では、本発明は、プロセッサで実行されたとき、繰り返される点2倍算及び点加算により右から左に楕円曲線上の多数の点を計算する方法を実行するコンピュータプログラムを記憶するコンピュータプログラムプロダクトに向けられ、それぞれの点2倍算は、座標の拡張されたセットで評価され、それぞれの点加算は、座標の拡張されたセットの制限されたセットを入力として取得することで評価されることを特徴とする。] 図面の簡単な説明 [0025] 本発明の好適な特徴は、添付図面を参照して例示により記載される。 本発明の好適な実施の形態に係る楕円曲線上の計算の装置を例示する図である。 本発明の好適な実施の形態に係る点2倍算の方法を例示する図である。] 実施例 [0026] 図1は、楕円曲線上の計算、特に、本発明の好適な実施の形態に係る点2倍算及びスカラー乗算を実行する装置100を例示する。本装置100は、以下に説明される方法の計算を実行するコンピュータプログラムを実行するために適合される少なくとも1つのプロセッサ110(以下「プロセッサ」)を有する。本装置100は、プロセッサ110からの中間の計算結果のようなデータを記憶するために適合されるメモリ120を更に有する。また、本装置100は、他の装置(図示せず)とのインタラクション用の少なくとも1つのインタフェース130(以下「インタフェース」)を有する。図1は、たとえばCD-ROMのような、プロセッサ110により実行されたとき、本発明の方法の好適な実施の形態に係るスカラー乗算を実行するコンピュータプログラムを記憶するコンピュータプログラムプロダクト140を例示する。] 図1 [0027] 本発明の主要な考えは、右から左へのスカラー乗算方法において、正規の点2倍算の演算に関わる値をキャッシュに格納するために使用される更なる座標T4を使用することである。繰り返しの間、更なる座標T4は、メモリ120に記憶される。従来技術の方法のステップ3.cにおける2倍算が繰り返し実行され、この方法における他の何処かで変更されないので、キャシングは、この方法を高速化するのを可能にするが、これは、余分のメモリ空間の使用を擬制にして達成される。本発明は、速度、すなわち実行される演算(特に乗算)の数とリソース(特にメモリ)の使用との間の良好なトレードオフを発見することを意図する。] [0028] 図2は、本発明の好適な実施の形態に係る点2倍算の方法を例示する。本方法は、従来技術の方法における2倍算のステップ3.cを有利に置き換える。本方法への入力は、値T1,T2,T3及びT4であり、この場合、T4は、本方法の最初の繰り返しにおいてaT34として初期化される。次いで、多数の有効な中間の変数U=T12;V=T22;M=3U+T4;W=V2及びS=2((T1+V)2−U−W)は、ステップ210で定義される。] 図2 [0029] 次いで、ステップ220で、T3,T4の新たな値T3=2T2T3;T4=16WT4が計算される。] [0030] T4の値は、既に言及されたように、次の繰り返しで必要とされるまで、メモリに記憶される。] [0031] ステップ230で、T1の新たな値T1=M2−2Sが計算される。] [0032] 最後に、ステップ240で、変数T2の残りの新たな値T2=M(S−T1)−8Wが計算される。] [0033] なお、4つの出力変数は、2倍にされた点を表し、スカラー乗算方法における他のステップにおける更なる計算のためにステップ250で出力される場合がある。必要であれば、ステップ210〜250は、スカラー乗算方法の更なる繰り返しについて繰り返される。この値は点2倍算のためにのみ使用されるので、T4の値を出力することは必ずしも必要ではないことを理解されたい。その値は、点2倍算の次の繰り返しまでメモリに記憶される。] [0034] 本発明の方法の利点は、特に計算速度に関して言えば、改善されたパフォーマンスを可能にすることである。] [0035] 表1は、様々なシステムの点2倍算のコストを与え、表2は、点加算のコストを与える。これらの表は、D.J.Bernstein及びT.Langeによる“Faster addition and doubling on elliptic curves” In:Advances in Cryptography-ASIACRYPT 2007, LNCS, pp.29-50, Springer-Verlag, 2007に基づくものである。M, S, cは、それぞれ「乗算」、「二乗」及び「定数倍」を意味する。2つの最後の列は、(α,β)=(1,1)及び(α,β)=(0.8,0)についてS=αM及びc=βMのときの乗算の数を与える。] [0036] ] [0037] 最良の全体のパフォーマンスは、点の表現についてヤコビアンの射影座標を使用したときに得られることがわかる。/をdのビットレングスを示すとする。この場合、Q=dPが古典的なNAFに基づく右から左へのバイナリスカラー乗算方法で評価された場合、期待される演算の数は、約/(1M+8S+1c)+//3(11M+5S)であり、これは、S=c=Mの場合、15.3/Mである。] [0038] しかし、本発明に係る方法は、あるタイプの座標を使用して点を加え、別のタイプの座標を使用して点を2倍にする場合がある。たとえば、点加算は、ヤコビアン座標を使用して行われ、点2倍算は、モディファイドヤコビアン座標を使用して行われる。これは、左から右へのスカラー乗算方法によっては非能率的であるか、不可能である。全てのこれらの方法は、共通して、繰り返し2倍にされるアキュムレータであって、入力ポイント又はその乗算が繰り返し加算されるアキュムレータを使用する。これは、点2倍算及び点加算のルーチンの出力の表現が同じである必要があること、すなわちアキュムレータの座標系が同じである必要があることを意味する。] [0039] したがって、本発明に係る方法のコストは、約/(3M+5S)+//3(11M+5S)であり、これは、S=c=Mという仮定の下で13.3/Mに等しい。したがって、ゲインは、13.3%のスピードアップファクタである。] [0040] 更なる一時的な変数の使用により更なるメモリの要求を犠牲にして古典的な方法を高速化することが可能であるが、本発明に係る方法は、更に迅速である。高速化された古典的な方法は、14.3/Mに等しい約/(3M+5S)+//3(11M+7S+1c)でQ=dPを評価するので、更に迅速である。したがって、本発明に係る方法は、更に高速である。] [0041] 楕円曲線に関するスカラー乗算は、ある点の逆を容易に推定することができ、更なるメモリの要求を必要としないので、NAF(Non Adjacent Form)で表現されるスカラーdで実行される。NAFは右から左に計算されるため、本発明の好適な実施の形態に係る方法を含めて、右から左へのスカラー乗算において、はじめにこれを計算し、次いで左から右へのスカラー乗算方法において行われたようなスカラー乗算を評価する必要がない。表現は、前もってNAF表現を計算及び記憶する必要なしに、オンザフライで計算される。] [0042] 無限遠での点は、特別な取り扱いを必要とする場合がある。左から右への方法について、これは、先行ゼロがスキップされるべきであることを意味する。スカラーdは右から左に処理されるので、本発明の好適な実施の形態に係る方法を含めて、右から左へのスカラー乗算により係る複雑さはない。] [0043] 本発明に係る方法の別の利点は、曲線パラメータが2倍算に関与しないことである。これにより、ハードウェアの実装にとって特に有効である、本方法のハードコーディングを可能にする。] [0044] 左から右へのスカラー乗算方法とは対照的に、本発明の好適な実施の形態の1つを含む右から左へのスカラー乗算方法は、2倍算のアタックに耐性がある。これらのアタックは、2つのパワー曲線から、秘密情報が十分に回復される場合があるので、非常にパワフルである。] [0045] さらに、本発明の方法は、様々なランダム化技術と組み合わせることができる。特に、古典的なDPA対抗手段(すなわち、ランダム化されたポイント表現又はランダム化された同型の曲線表現)を使用して、効率のペナルティが存在しない。] [0046] 上記説明で開示されたそれぞれの特徴及び(必要であれば)特許請求の範囲及び図面は、独立に提供されるか又は適切な組み合わせで提供される場合がある。ハードウェアで実現されるように記載される特徴は、ソフトウェアで実現される場合もあり、逆に、ソフトウェアで実現されるように記載される特徴は、ハードウェアで実現される場合もある。コネクションは、適用される場合、無線通信又は有線通信として実現される場合があり、必ずしも、ダイレクト又は専用のコネクションである必要はない。]
权利要求:
請求項1 繰り返される点加算及び点2倍算により楕円曲線上の多数の点を右から左に計算する方法であって、前記点2倍算は、射影座標の拡張されたセットで評価され、それぞれの点加算は、射影座標の拡張されたセットの制限されたセットを入力とすることで評価され、当該方法は、次の点2倍算まで、前記制限されたセットの一部ではない拡張されたセットの少なくとも1つの座標をメモリに記憶するステップを更に含む、ことを特徴とする方法。 請求項2 前記点2倍算の出力座標は、前記次の点2倍算の入力座標として使用される、請求項1記載の方法。 請求項3 前記楕円曲線は、2及び3とは異なる特性によるWeierstrass式EIK:Y2=X3+aXZ4+bZ6により与えられ、a及びbは、前記楕円曲線の第一のパラメータ及び第二のパラメータである、請求項1又は2記載の方法。 請求項4 前記点2倍算は、座標T1,T2,T3の値、及びT4=aT34に初期化される更なる座標T4の値を取得するステップと、前記aは、楕円曲線の第一パラメータであり、中間の変数U=T12,V=T22,M=3U+T4,W=V2及びS=2((T1+V)2−U−W)を計算するステップと、T3,T4の新たな値T3=2T2T3,T4=16WT4を計算するステップと、T1の新たな値T1=M2−2Sを計算するステップと、T2の新たな値T2=M(S−T1)−8Wを計算するステップと、少なくとも座標T1,T2,T3及びT4の値を出力するステップと、を実行することで計算される請求項3記載の方法。 請求項5 前記スカラー乗算は、スカラーの非隣接形式(NonAdjacentForm)を使用して実行される、請求項1乃至3の何れか記載の方法。 請求項6 前記スカラー乗算は、スカラーのバイナリ表現を使用して実行される、請求項1乃至3の何れか記載の方法。 請求項7 前記点2倍算は、モディファイドヤコビアン座標を使用して実行され、前記点加算は、ヤコビアン座標を使用して実行される、請求項1乃至6の何れか記載の方法。 請求項8 楕円曲線上の多数の点を右から左に計算する装置であって、当該装置は、点2倍算及び点加算を行うために適合されるプロセッサを有し、前記プロセッサは、射影座標の拡張されたセットを使用してそれぞれの点2倍算を評価し、射影座標の拡張されたセットの制限されたセットを入力としてそれぞれの点加算を評価し、当該装置は、次の点2倍算まで、前記制限されたセットの一部ではない拡張されたセットの少なくとも1つの座標を記憶するメモリを更に有する、ことを特徴とする装置。 請求項9 プロセッサで実行されたとき、繰り返される点加算及び点2倍算により楕円曲線上の多数の点を右から左に計算する方法を実行するコンピュータプログラムであって、それぞれの点2倍算は、射影座標の拡張されたセットで評価され、それぞれの点加算は、射影座標の拡張されたセットの制限されたセットを入力とすることで評価され、前記方法は、次の点2倍算まで、前記制限されたセットの一部ではない拡張されたセットの少なくとも1つの座標をメモリに記憶するステップを更に含む、ことを特徴とするコンピュータプログラム。 請求項10 プロセッサで実行されたとき、繰り返される点加算及び点2倍算により楕円曲線上の多数の点を右から左に計算する方法を実行するコンピュータプログラムを記憶するコンピュータプログラムプロダクトであって、それぞれの点2倍算は、射影座標の拡張されたセットで評価され、それぞれの点加算は、射影座標の拡張されたセットの制限されたセットを入力とすることで評価され、前記方法は、次の点2倍算まで、前記制限されたセットの一部ではない拡張されたセットの少なくとも1つの座標をメモリに記憶するステップを更に含む、ことを特徴とするコンピュータプログラムプロダクト。
类似技术:
公开号 | 公开日 | 专利标题 Costello et al.2016|Efficient algorithms for supersingular isogeny Diffie-Hellman Roetteler et al.2017|Quantum resource estimates for computing elliptic curve discrete logarithms Mamiya et al.2004|Efficient countermeasures against RPA, DPA, and SPA Bernstein2006|Curve25519: new Diffie-Hellman speed records Faz-Hernández et al.2015|Efficient and secure algorithms for GLV-based scalar multiplication and their implementation on GLV–GLS curves | Fong et al.2004|Field inversion and point halving revisited Savas et al.2000|The Montgomery modular inverse-revisited DE69917592T2|2005-06-02|Gegen stromverbrauchsignaturanfall beständige kryptographie US6714648B2|2004-03-30|IC card equipped with elliptic curve encryption processing facility JP4632950B2|2011-02-23|個人鍵を用いた耐タンパ暗号処理 Koc et al.1998|Montgomery multiplication in GF | CA2614120C|2015-02-24|Elliptic curve point multiplication EP1548687B1|2013-01-09|Tamper-resistant elliptical curve encryption using secret key Hankerson et al.2006|Guide to elliptic curve cryptography Galbraith2002|Elliptic curve Paillier schemes Kammler et al.2009|Designing an ASIP for cryptographic pairings over Barreto-Naehrig curves US7961874B2|2011-06-14|XZ-elliptic curve cryptography with secret key embedding Yen et al.2005|Power analysis by exploiting chosen message and internal collisions–vulnerability of checking mechanism for RSA-decryption US7139396B2|2006-11-21|Koblitz exponentiation with bucketing De Win et al.1996|A fast software implementation for arithmetic operations in GF | TWI403144B|2013-07-21|隨機化模數減化方法及其硬體 Faz-Hernández et al.2017|A faster software implementation of the supersingular isogeny Diffie-Hellman key exchange protocol JP3796993B2|2006-07-12|楕円曲線暗号実行方法及び装置並びに記録媒体 US8913739B2|2014-12-16|Method for scalar multiplication in elliptic curve groups over prime fields for side-channel attack resistant cryptosystems US7639808B2|2009-12-29|Elliptic curve cryptosystem apparatus, elliptic curve cryptosystem method, elliptic curve cryptosystem program and computer readable recording medium storing the elliptic curve cryptosystem program
同族专利:
公开号 | 公开日 CN101971138B|2014-08-20| CN101971138A|2011-02-09| EP2243075B1|2015-04-15| EP2243075A1|2010-10-27| US20100310066A1|2010-12-09| JP5553773B2|2014-07-16| EP2090978A1|2009-08-19| WO2009101147A1|2009-08-20| US8582758B2|2013-11-12|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2012-01-14| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120113 | 2012-01-14| A621| Written request for application examination|Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120113 | 2013-04-17| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130416 | 2013-07-04| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130703 | 2014-01-22| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140121 | 2014-04-04| A524| Written submission of copy of amendment under section 19 (pct)|Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20140403 | 2014-04-21| TRDD| Decision of grant or rejection written| 2014-05-01| A01| Written decision to grant a patent or to grant a registration (utility model)|Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140430 | 2014-06-05| A61| First payment of annual fees (during grant procedure)|Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140527 | 2014-06-06| R150| Certificate of patent or registration of utility model|Ref document number: 5553773 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 | 2018-06-05| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 | 2019-06-06| LAPS| Cancellation because of no payment of annual fees|
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|